<?
class ClienteDistributore {
	function getElenco($min,$max,$orderby) {
		$rs = lancia_procedura("elenco_distributore", "$min,$max,'$orderby'");
		return '{'.Get_json("rows", $rs, Array("iddist","data_reg","nome","citta","provincia","provincia_txt","attivo","telefono")).'}';
	}
	
	function elencoClienti() {
		$rs = lancia_procedura("elenco_clienti", "");
		die('{'.Get_json("rows", $rs, Array("iddist","nome")).'}');
	}
	
	function getRecord($id) {
		$rs = lancia_procedura("leggi_distributore", "$id");
		switch (true) {
			case file_exists($_SERVER[DOCUMENT_ROOT]."/".$rs->Fields("cartella")."/uploads/logo.jpg"):
			  $logo = "logo.jpg";
			break;
			
			case file_exists($_SERVER[DOCUMENT_ROOT]."/".$rs->Fields("cartella")."/uploads/logo.gif"):
			  $logo = "logo.gif";
			break;
			
			case file_exists($_SERVER[DOCUMENT_ROOT]."/".$rs->Fields("cartella")."/uploads/logo.png"):
			  $logo = "logo.png";
			break;
			
			default:
			  $logo = "";
			break;
		}
		$dist = Get_json("row", $rs, Array("iddist", "data_reg", "data_end", "nome", "referente", "indirizzo", "citta", "provincia", "nazione", "telefono", "mail", "cartella", "username", "pw", "attivo", "num_smart"));
		if($rs) $rs->Close();
		$rs = lancia_procedura("elenco_smart_distributore", "$id");
		$smart = Get_json("rows", $rs, Array("codice","modello","sim"));
		if($rs) $rs->Close();
		return '{'.$dist.',"logo":"'.$logo.'","smart":[{'.$smart.'}]}';
	}
	
	function salva($id,$nome,$referente,$indirizzo,$citta,$provincia,$nazione,$mail,$telefono,$num_smart,$username,$pw,$cartella) {
		global $conn;
		//die("$id,'$nome','$referente','$indirizzo','$citta','$provincia','$nazione','$mail','$telefono','$num_smart','$username','$pw','$cartella'");
		$rs = lancia_procedura("inserisci_distributore", "$id,'$nome','$referente','$indirizzo','$citta','$provincia','$nazione','$mail','$telefono','$num_smart','$username','$pw','$cartella'");
		$msg = $rs->Fields("msg");
		$iddist = $rs->Fields("iddist");
		$rs->Close();
		if($id=="0") {
		  //error_reporting(E_ERROR | E_WARNING);
		  $info = lancia_procedura("leggi_impostazioni", "");
		  $conn_id = ftp_connect("ftp.controllogps.it");
		  $login_result = ftp_login($conn_id, $info->Fields("imp1"), $info->Fields("imp2"));
		  $info->Close();
		  if(copyr($_SERVER[DOCUMENT_ROOT]."/demo/", $_SERVER[DOCUMENT_ROOT]."/".$cartella, $conn_id, $cartella)) {
	    		## CREO IL DB E LE CARTELLE ##
				$sql = file_get_contents($_SERVER[DOCUMENT_ROOT]."/DB/cf_distributore.sql");
				$conn->Execute("CREATE DATABASE IF NOT EXISTS db_$cartella CHARACTER SET utf8 COLLATE utf8_general_ci;");
				$passwd = generatePassword(8);
				$user = "usr_".$cartella."_xx";
				$conn->Execute("CREATE USER '$user'@'localhost' IDENTIFIED BY '$passwd';");
				$conn->Execute("GRANT ALL PRIVILEGES ON db_$cartella.* TO '$user'@'localhost';");
				//$conn->Execute("FLUSH PRIVILEGES;");
				$conn->Execute("USE db_$cartella;");
				list($procedure,$query) = explode("DELIMITER ;",$sql);
				$arrQuery = explode(";",$query);
				foreach($arrQuery as $qry) {
					$conn->Execute($qry);
				}
				$arrProcedure = explode("$$", $procedure);
				foreach($arrProcedure as $qry) {
					$conn->Execute($qry);
				}
				$rs = lancia_procedura("inserisci_utente", "0,'Administrator','$username','$pw',1");
				$rs->Close();
				$rs = lancia_procedura("attiva_utente", "1,1");
				$rs = lancia_procedura("inserisci_config", "'$logo','$username','$pw'");
				ftp_chmod($conn_id, 0777, "httpdocs/$cartella/uploads");
				ftp_chmod($conn_id, 0777, "httpdocs/$cartella/config");
				ftp_chmod($conn_id, 0777, "httpdocs/$cartella/config/cfg.ini");
				$ini = new IniFileReader($_SERVER[DOCUMENT_ROOT]."/$cartella/config/cfg.ini");
	    		$tmp = $ini->setIniFile("user", "database", "db_$cartella");
	    		$tmp = $ini->setIniFile("user", "folder", $cartella);
	    		$tmp = $ini->setIniFile("user", "username", $user);
	    		$tmp = $ini->setIniFile("user", "password", $passwd);
	    		ftp_chmod($conn_id, 0644, "httpdocs/$cartella/config/cfg.ini");
	    		ftp_chmod($conn_id, 0755, "httpdocs/$cartella/config");
			} else {
				$msg = "Si è verificato un problema nella creazione della cartella $cartella";
			}
			ftp_close($conn_id);	
		}
		return '{"error":"'.$msg.'","iddist":"'.$iddist.'"}';
	}
	
	function attiva($id,$attivo) {
		$rs = lancia_procedura("attiva_distributore", "$id,$attivo");
		return '{"error":""}';
	}
	
	function archivia($id,$archivio) {
		$rs = lancia_procedura("archivia_distributore", "$id,$archivio");
		return '{"error":""}';
	}
	
	function elimina($id) {
		$rs = lancia_procedura("elimina_distributore", $id);
		return '{"error":"'.$rs->Fields("msg").'"}';
	}
	
	function cerca($search) {
		$rs = lancia_procedura("cerca_cliente", "'%$search%'");
		return '{'.Get_json("row", $rs, Array("idcliente", "codice", "data_reg", "data_end", "nome", "referente", "indirizzo", "citta", "provincia", "nazione", "telefono", "mail", "iva", "username", "pw", "attivo", "archivio")).'}';
	}
	
	function cercaElenco($citta,$nome,$provincia,$nazione,$min,$max) {
		$rs = lancia_procedura("cerca_elenco_distributore", "'$citta','$nome','$provincia','$nazione',$min,$max");
		return '{'.Get_json("rows", $rs, Array("iddist","data_reg","nome","citta","provincia","provincia_txt","attivo","telefono")).'}';
	}
}
?>